package reflection;

/**
 * Created with IntelliJ IDEA
 * Description:反射学习
 * User:22954
 * Date:2024-04-12
 * Time:12:41
 */
public class Reflection {
    /*
    反射机制:
        实际是Class类,该类可通过一系列类获取指定类的成员属性/构造器/方法...等信息----需获信息必须为public属性
            可理解为ReflectionClass类    ReflectionClass <-> Class
        在类的加载时,JVM会自主生成该类的反射类
    ================================================================================
    存在意义:
        可通过反射获取配置文件中的信息,进而在不更改源码的情况下控制/修改程序运行,符合ocp(开闭原则)
    ================================================================================
    反射优劣:
        优: 可以动态的创建和使用对象(框架核心),使用灵活
        劣: 反射的使用基本是解释执行,对执行速度影响大
    编译执行:
        源码--编译-->机器码/中间码--运行-->程序
    解释执行:
        源码--编译-->中间码--运行--逐行解释->机器码->程序
    Java采用混合型/半编译型
        部分语句采用编译执行,另一部分采用解释执行
    机器码----系统能直接执行的二进制代码文件
    Java中间码----字节码----无论编译还是解释都需JVM机再编译成机器码
    ================================================================================

     */
}
